package it.polimi.traveldream.web.beans;

import java.util.List;

import it.polimi.traveldream.ejb.pacchettomanagement.PacchettoDTO;
import it.polimi.traveldream.ejb.pacchettomanagement.PacchettoMgr;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;


@ManagedBean (name="pacchettoBean")
@RequestScoped
public class PacchettoBean {
	
	@EJB
	private PacchettoMgr pacchettoMgr;

	private PacchettoDTO nuovoPacchetto;
	
	private List<?> result;

	public PacchettoBean(){
		nuovoPacchetto = new PacchettoDTO();
	}
	
	public String salva() {
		pacchettoMgr.save(nuovoPacchetto);
		return "nuovoPacchetto?faces-redirect=true";
	}
	public String salvaPers() {
		pacchettoMgr.save(nuovoPacchetto);
		return "ricercaPacchetto?faces-redirect=true";
	}
	
	public String cancella(){
		pacchettoMgr.remove(nuovoPacchetto);
		return "homepage?faces-redirect=true";
	}
	
	public List<?> getPacchettiDTO(){
		return pacchettoMgr.getPacchettiDTO();
	}
	
	public List<?> getPacchetti(){
		return pacchettoMgr.getPacchetti();
	}
	
	public String personalizza(){
		pacchettoMgr.personalizza(nuovoPacchetto);
		return "homepage?faces-redirect=true";
	}
	
	public PacchettoDTO getNuovoPacchetto() {
		return nuovoPacchetto;
	}

	public void setNuovoPacchetto(PacchettoDTO nuovoPacchetto) {
		this.nuovoPacchetto = nuovoPacchetto;
	}
	
    public void onRowSelect(SelectEvent event) {  
        FacesMessage msg = new FacesMessage("Selezionato");
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }  
  
    public void onRowUnselect(UnselectEvent event) {  
        FacesMessage msg = new FacesMessage("Unselected");  
  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }

	public PacchettoMgr getPacchettoMgr() {
		return pacchettoMgr;
	}

	public void setPacchettoMgr(PacchettoMgr pacchettoMgr) {
		this.pacchettoMgr = pacchettoMgr;
	}

	public List<?> getResult() {
		return result;
	}

	public void setResult(List<?> result) {
		this.result = result;
	}  
	
	public void pacchettoDTObyId(int idPacchetto){
		nuovoPacchetto = pacchettoMgr.findPacchettoDTO(idPacchetto);
	}

	public String persPacc(){
		return "personale?faces-redirect=true";
	}
    
    
}
